﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>ViewerSetPosition</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../styles/styles.css">
<script language="javascript" src='../links.js' type="text/javascript"></script>
</head>

<body>
<h1>ViewerSetPosition</h1>
<div class=navbar>
<a href="../index.html">главная</a> |
<a href="index.html">структуры</a> |
<a href="../viewerapi/index.html">Viewer API</a>
</div>

<div class=shortdescr>
Структура <code>ViewerSetPosition</code> используется для изменения текущей позиции в файле, открытом в программе просмотра Far Manager.
</div>

<pre class=syntax>
struct ViewerSetPosition
{
  size_t StructSize;
  VIEWER_SETPOS_FLAGS Flags;
  __int64 StartPos;
  __int64 LeftPos;
};
</pre>

<h3>Элементы</h3>
<div class=descr>
  <div class=dfn>StructSize</div>
    <div class=dfndescr>Это поле должно содержать размер структуры <code>ViewerSetPosition</code>. Перед использованием структуры плагин должен заполнить поле.</div>
  <div class=dfn>Flags</div>
    <div class=dfndescr>Флаги, уточняющие процесс изменения позиции. Может быть комбинация из (тип <a name="VIEWER_SETPOS_FLAGS">VIEWER_SETPOS_FLAGS</a>):
    <table class="cont">
    <tr class="cont"><th class="cont" width="40%">Флаг</th><th class="cont" width="60%">Описание</th></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="VSP_NOREDRAW">VSP_NOREDRAW</a></td>
    <td class="cont" width="60%">не перерисовывать экран</td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="VSP_PERCENT">VSP_PERCENT</a></td>
    <td class="cont" width="60%">смещение указано не в байтах, а в процентах</td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="VSP_RELATIVE">VSP_RELATIVE</a></td>
    <td class="cont" width="60%">смещение относительное, а не абсолютное</td></tr>
    <tr class="cont"><td class="cont" width="40%"><a name="VSP_NORETNEWPOS">VSP_NORETNEWPOS</a></td>
    <td class="cont" width="60%">не возвращать реальную позицию (см. <code>StartPos</code>)</td></tr>
    </table>
    </div>
  <div class=dfn>StartPos</div>
    <div class=dfndescr>Новая позиция в файле (или в байтах, или в процентах - зависит от <code>VSP_PERCENT</code>, может быть отрицательной - если указан флаг <code>VSP_RELATIVE</code>). В программе просмотра в общем случае невозможно установить
    точную позицию в файле, поэтому новая реальная позиция может и не совпадать со <code>StartPos</code>. Для того, чтобы узнать, чему же равна новая позиция в файле, её значение записывается в <code>StartPos</code> (если не указан флаг
    <code>VSP_NORETNEWPOS</code>). Используйте это свойство для контроля, если хотите.</div>
  <div class=dfn>LeftPos</div>
    <div class=dfndescr>Позиция левой границы просматриваемого текста в окне программы просмотра.</div>
</div>

<div class=see>Смотрите также:</div>
<div class=seecont>
<a href="index.html">Структуры</a>,
<a href="../service_functions/viewercontrol.html">ViewerControl</a>,
</div>

</body>
</html>
